#if !defined(__APP_SERIAL_H)
#define __APP_SERIAL_H
#include <termios.h>
#include "app_device.h"
#include "app_message.h"
//波特率枚举
typedef enum
{
    BR_9600 = B9600,
    BR_115200 = B115200
}BraudRate;
//校验位枚举
typedef enum
{
    Parity_None=0,
    Parity_Odd=PARENB|PARODD,
    Parity_Even=PARENB
}Parity;
//停止位枚举
typedef enum
{
    StopBits_1=0,
    StopBits_2=CSTOPB
}Stopbites;
//串口设备结构体
typedef struct
{
  Device super;
  BraudRate braud_rate;
  Parity parity;
  Stopbites stop_bits;  
}SerialDevice;
/**
 * 初始化
 */
SerialDevice *app_serial_init(char *filename);
/**
 * 设置波特率
 */
int app_serial_setBraudRate(SerialDevice *serial,BraudRate braud_rate);
/**
 * 设置校验位
 */
int app_serial_setParity(SerialDevice *serial,Parity parity);
/**
 * 设置停止位
 */
int app_serial_setStopBits(SerialDevice *serial,Stopbites stop_bits);
/**
 * 设置连接类型
 */
int app_serial_setConnectionType(SerialDevice *serial,ConnectionType conn_type);
#endif // __APP_SERIAL_H